home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 June / PCWorld_2004-06_cd.bin / software / vyzkuste / koolmoves / kmsetup.exe / {app} / Motion Scripts / Moving Mask / effect2.txt
Text File  |  2004-03-28  |  2KB  |  92 lines

  1. // main_init function
  2.  
  3. main_init = function(mc){
  4.  d = deg360 / 360 * effect_angle;
  5.  part = function ( mc, nr, r ){
  6.   r2 = r/2;
  7.   mc.lineStyle();
  8.   mc.beginFill(0);
  9.   if (nr==0){
  10.    mc.curveTo ( -r2, -r2, 0, -r );
  11.    mc.curveTo ( -r, -r, -r, 0 );
  12.    mc.curveTo ( -r2, r2, 0, 0 );
  13.   } else if (nr==1){
  14.    mc.curveTo ( r2, -r2, r, 0 );
  15.    mc.curveTo ( r, -r, 0, -r );
  16.    mc.curveTo ( -r2, -r2, 0, 0 );
  17.   } else if (nr==2){
  18.    mc.curveTo ( r2, r2, 0, r );
  19.    mc.curveTo ( r, r, r, 0 );
  20.    mc.curveTo ( r2, -r2, 0, 0 );
  21.   } else {
  22.    mc.curveTo ( -r2, r2, -r, 0 );
  23.    mc.curveTo ( -r, r, 0, r );
  24.    mc.curveTo ( r2, r2, 0, 0 );
  25.   }
  26.   mc.endFill();
  27.  }
  28. }
  29.  
  30. // main_effect function
  31.  
  32. main_effect = function(mc,frame){
  33.  if (subs_done) end_effect = true;
  34. }
  35.  
  36. // sub_init function
  37.  
  38. sub_init = function(mc){
  39.  b = mc.getBounds(mc);
  40.  p = $padding/2;
  41.  rx = Math.max(-b.xMin,b.xMax)-p;
  42.  ry = Math.max(-b.yMin,b.yMax)-p;
  43.  mc.r = Math.sqrt(rx*rx+ry*ry);
  44.  m = mc._parent;
  45.  for (i=1;i<=4;i++) {
  46.   m.createEmptyMovieClip("m"+i+"_"+mc._i,mc._i*10+i+5);
  47.   msk = m["m"+i+"_"+mc._i];
  48.   part(msk,i-1,mc.r);
  49.   if (out_effect){
  50.    msk._x = mc.__x;
  51.    msk._y = mc.__y;
  52.   } else {
  53.    msk._x = Stage.width;
  54.    msk._y = Stage.height;
  55.   }  
  56.  }  
  57.  for (i=1;i<=3;i++){
  58.   mc.duplicateMovieClip("c"+i+"_"+mc._i,mc._i*10+i);
  59.   m["c"+i+"_"+mc._i].setMask(m["m"+i+"_"+mc._i]);
  60.  }
  61.  mc.setMask(m["m4_"+mc._i]);
  62. }
  63.  
  64. // sub_effect function
  65.  
  66. sub_effect = function(mc,frame){
  67.  perc = frame / lastsubframe;
  68.  if (out_effect) perc = 1 - perc; 
  69.  m = mc._parent;
  70.  for (i=1;i<=4;i++){
  71.   msk = m["m"+i+"_"+mc._i];
  72.   if (i%2 || part4){
  73.    px = msk._x = mc.__x - Math.cos(deg90 * i - d) * mc.r * (1-perc);
  74.    py = msk._y = mc.__y - Math.sin(deg90 * i - d) * mc.r * (1-perc);
  75.   } else {
  76.    msk._x = px;
  77.    msk._y = py;
  78.   }
  79.   msk._rotation = perc * effect_rotation;
  80.   if (zoom) msk._xscale = msk._yscale = perc * 100;
  81.  }
  82.  if (frame == lastsubframe) {
  83.   for (i=1;i<=4;i++){
  84.    m["c"+i+"_"+mc._i].removeMovieClip();
  85.    m["m"+i+"_"+mc._i].removeMovieClip();
  86.   }
  87.   if (out_effect) mc._alpha = 0;
  88.   mc.done = true;
  89.  }
  90. }
  91.  
  92.